<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<HTML>
<HEAD>
   <TITLE>class  osgGA::GUIActionAdapter</TITLE>
   <META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
</HEAD>
<BODY BGCOLOR="#ffffff">

<H2>class  <A HREF="#DOC.DOCU">osgGA::GUIActionAdapter</A></H2></H2><BLOCKQUOTE>Pure virtual base class for adapting the GUI actions requested by CameraManipulators into actions which are handled by the GUI toolkit of the users application.</BLOCKQUOTE>
<HR>

<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.4.1">requestRedraw</A></B>() = 0
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.4.2">requestContinuousUpdate</A></B>(bool needed=true) = 0
<DT>
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual   void <B><A HREF="#DOC.2.4.3">requestWarpPointer</A></B>(int x, int y) = 0
</DL></P>

</DL>

<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<BLOCKQUOTE>Pure virtual base class for adapting the GUI actions requested by CameraManipulators
into actions which are handled by the GUI toolkit of the users application.

<P>There are several was of using the ActionAdapter either inheriting it as 
done with osgGLUT::Viewer class or passing a simple struct to the camera 
manipulator then unpacking the results and working out what to do to respond
to the requests.

<P>Also there are several ways to run your app and handle the updating of
the window.  osgGLUT::Viewer always has a idle callback registered which does a
redraw all the time.  osgGLUT::Viewer can safely ignore both requestRedraw() and
requestContinousUpdate() as these are happening all the time anyway.

<P>Other apps will probably want to respond to the requestRedraw() and
requestContinousUpdate(bool) and again there is more than one way to handle it.
You can override requestRedraw() and implement to call your own window
redraw straight away. Or you can implement so that a flag is set and
then you then respond the flag being set in your own leisure.

<P>requestContinousUpdate(bool) is for enabling a throw or idle 
callback to be requested by the camera manipulator.  Again you can respond 
to this immediately by registering a idle callback or a timed callback, or
you can delay setting the callback and do at you own leisure.

<P>requestWarpPointer(int,int) is requesting a respositioning of a mouse pointer
to a specified x,y location on the window.  Used by some camera manipulators
to initialize the mouse pointer when mouse position relative to a controls
neutral mouse position is required, i.e when mimicking a aircrafts joystick.</BLOCKQUOTE>
<DL>

<A NAME="requestRedraw"></A>
<A NAME="DOC.2.4.1"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void requestRedraw() = 0</B></TT>
<DL><DT><DD></DL><P>
<A NAME="requestContinuousUpdate"></A>
<A NAME="DOC.2.4.2"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void requestContinuousUpdate(bool needed=true) = 0</B></TT>
<DL><DT><DD></DL><P>
<A NAME="requestWarpPointer"></A>
<A NAME="DOC.2.4.3"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual   void requestWarpPointer(int x, int y) = 0</B></TT>
<DL><DT><DD></DL><P></DL>

<HR><DL><DT><B>This class has no child classes.</B></DL>

<DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
<BR>
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
</BODY>
</HTML>
